package com.bookstore.dao.impl;

import com.bookstore.dao.BaseDao;
import com.bookstore.dao.ProductDao;
import com.bookstore.entity.Product;

import java.util.List;

public class ProductDaoImpl extends BaseDao implements ProductDao {
    @Override
    public int insertProduct(Product product) {
        String sql = "INSERT INTO `T_product`(`name`,`price`,`category`,`pnum`,`imgurl`,`description`) VALUES (?, ?, ?, ?, ? ,?)";
        return super.update(sql,product.getName(),product.getPrice(),product.getCategory(),product.getPnum(),product.getImgurl(),product.getDescription());
    }

    @Override
    public int deleteProduct(Integer productId) {
        String sql = "DELETE FROM `T_product`WHERE `id`=?";
        return super.update(sql,productId);
    }

    @Override
    public int updateProduct(Product product) {
        String sql = "UPDATE `T_product` SET `name`=?,`price`=?,`category`=?,`pnum`=?,`imgurl`=?,`description`=? WHERE `id`=?";
        return super.update(sql,product.getName(),product.getPrice(),product.getCategory(),product.getPnum(),product.getImgurl(),product.getDescription(),product.getId());
    }

    @Override
    public List<Product> queryAllProducts() {
        String sql = "SELECT * FROM `T_product`";
        return super.queryForList(Product.class,sql);
    }
//    @Override
//    public int insert(Product product) {
//        String sql = "INSERT INTO `T_product`(`name`,`price`,`category`,`pnum`,`imgurl`,`description`) VALUES (?, ?, ?, ?, ? ,?)";
//        return 0;
//    }
//
//    @Override
//    public int delete(Integer productId) {
//        String sql = "DELETE FROM `T_product`WHERE `id`=?";
//        return 0;
//    }
//
//    @Override
//    public int update(Product product) {
//        int result = 0;
//        String sql = "UPDATE `T_product`SET";
//        StringBuilder sb = new StringBuilder(sql);
//        int flag=0;
//        if(product==null){
//            return result;
//        }
//        if(product.getName()!=null){
//            flag=1;
//            sb.append(" `name`=?");
//        }
//        if(product.getPrice()!=null){
//            if(flag!=0){
//                sb.append(",");
//            }
//            sb.append(" `price`=?");
//            flag=1;
//        }
//        if(product.getCategory()!=null){
//            if(flag!=0){
//                sb.append(",");
//            }
//            sb.append(" `category`=?");
//            flag=1;
//        }
//        if(product.getPnum()!=null){
//            if(flag!=0){
//                sb.append(",");
//            }
//            sb.append(" `pnum`=?");
//            flag=1;
//        }
//        if(product.getImgurl()!=null){
//            if(flag!=0){
//                sb.append(",");
//            }
//            sb.append(" `imgurl`=?");
//            flag=1;
//        }
//        if(product.getDescription()!=null){
//            if(flag!=0){
//                sb.append(",");
//            }
//            sb.append(" `description`=?");
//            flag=1;
//        }
//        return 0;
//    }
//
//    @Override
//    public List<Product> queryProduct(Product product) {
//        String sql = "SELECT * FROM `T_product`WHERE  1=1";
//        StringBuilder sb = new StringBuilder(sql);
//        if(product.getId()!=null){
//            sb.append(" AND `id`=?");
//        }
//        if(product.getName()!=null){
//            sb.append(" AND `name`=?");
//        }
//        if(product.getPrice()!=null){
//            sb.append(" AND `price`=?");
//        }
//        if(product.getCategory()!=null){
//            sb.append(" AND `category`=?");
//        }
//        if(product.getPnum()!=null){
//            sb.append(" AND `pnum`=?");
//        }
//        if(product.getImgurl()!=null){
//            sb.append(" AND `imgurl`=?");
//        }
//        if(product.getDescription()!=null){
//            sb.append(" AND `description`=?");
//        }
//        return null;
//    }
}
